package com.intcast;


/*
判断两个数组相同的数字并输出出来
*/
public class Demo02 {
    public static void main(String[] args) {
        //定义两个数组用来判断
        int[] arr1 = {0, 1, 3, 4, 1, 2, 3, 6};
        int[] arr2 = {1, 3, 4, 5, 6, 0, 2};
        reArr(arr1, arr2);
    }

    //判断两个数组是否存在相同的数字的方法
    public static void reArr(int[] arr1, int[] arr2) {
        //定义一个新数组用来存放重复的数据
        int[] newArr = new int[arr1.length];
        int newInAcount = 0;

        //遍历数组用来判断是否存在
        for (int i = 0; i < arr1.length; i++) {
            //用来统计重复的个数
            int count = 0;
            for (int j = 0; j < arr2.length; j++) {
                if (arr1[i] == arr2[j]) {
                    //判断相同的有没有，有的话就加一
                    count++;
                    //有的话就可以结束本次循环
                    break;
                }
            }
            //判断两个数组是否存在相同的数
            if (count > 0) {
                //用来判断新数组有没有这个数
                int newCount = 0;
                for (int k = 0; k < newInAcount; k++) {
                    if (arr1[i] == newArr[k]) {
                        newCount++;
                        break;
                    }
                }
                //newCount为0代表没有
                if (newCount == 0) {
                    //写进新数组
                    newArr[newInAcount] = arr1[i];
                    //统计写进去得数量
                    newInAcount++;
                }
            }
        }
        printArr(newArr, 0, newInAcount - 1);
    }

    public static void printArr(int[] newArr, int min, int max) {
        for (int i = min; i <= max; i++) {
            System.out.print(newArr[i] + "\t");
        }
    }
}
